import { defineConfig, loadEnv } from "vite";
import react from "@vitejs/plugin-react";
import pxToViewport from "postcss-px-to-viewport-8-plugin";

// https://vite.dev/config/
export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd(), "");
  return {
    plugins: [react()],
    css: {
      postcss: {
        plugins: [
          pxToViewport({
            viewportWidth: 375, // 设计稿宽度（如 iPhone 6/7/8 的 375px）
            unitPrecision: 5, // 转换后的精度（小数点后保留位数）
            viewportUnit: "vw", // 目标单位
            fontViewportUnit: "vw", // 字体使用的目标单位
            selectorBlackList: [], // 不需要转换的选择器（如类名）
            minPixelValue: 1, // 最小转换值（小于 1px 不转换）
            mediaQuery: false, // 是否在媒体查询中转换 px
            replace: true, // 是否直接替换 px 而不是添加备用属性
            exclude: [/node_modules/], // 排除 node_modules 目录
          }),
          
        ],
      },
    },
    define: {
      "process.env": env,
    },
    server: {
      proxy: {
        "/api/baidu": {
          target: "https://aip.baidubce.com",
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api\/baidu/, ""),
          secure: true,
          headers: {
            "Access-Control-Allow-Origin": "*",
            "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
            "Access-Control-Allow-Headers": "Content-Type, Authorization",
          },
        },
      },
    },
  };
});
